export default function toTree(
  data,
  currentKey = "id",
  parentKey = "parentId",
  childKey = "children"
) {
  //储存树形数据的数组
  let treeArr = [];
  //再次声明一个函数
  function recursion(data) {
    data.forEach((item) => {
      //说明这个是一个子节点
      if (item[parentKey]) {
        //爸爸去哪儿,找父节点
        let parent = data.find((p) => p[currentKey] === item[parentKey]);
        //判断父节点是否有children属性
        if (!parent[childKey]) {
          //添加一个children属性,并且是一个空数组
          parent[childKey] = [];
        }
        parent[childKey].push(item);
      } else {
        treeArr.push(item);
      }
    });
  }
  recursion(data);
  return treeArr;
}
